Skip to content

Switch to calendar versioning: YY.N[.P] - #718

Merged
evaleev merged 4 commits into
masterfrom
feature/calver
Oct 22, 2026
Merged

evaleev merged 4 commits into
masterfrom
feature/calver

Conversation

@evaleev

@evaleev evaleev commented Oct 21, 2026

Copy link
Copy Markdown
Member

Switches SeQuant from semantic to calendar versioning. Releases are numbered YY.N, where N counts the releases within the year starting from 0, and patch releases YY.N.P; the prerelease id (-alpha etc.) is unchanged. Since 2.1.0 and 2.2.0 already shipped in 2026, the next release is 26.2, and master now reports 26.2-alpha.

Changes:

  • CMakeLists.txt: version components are now SEQUANT_YEAR_VERSION, SEQUANT_YMAJOR_VERSION, SEQUANT_PATCH_VERSION (replacing MAJOR/MINOR/MICRO, since "minor" no longer implies API stability). A zero patch level is omitted from SEQUANT_VERSION; the share directory uses the same string.
  • SeQuant/version.hpp.in, cmake/sequant-config.cmake.in: macros and comments follow the new scheme.
  • CITATION.cff: 26.2-alpha.
  • doc/maintainer/release.rst: version numbering section rewritten for calver; checklist uses vYY.N.x branches and vYY.N / vYY.N.P tags, and spells out the post-release bump across a year boundary.

Verified: the generated sequant-config-version.cmake accepts find_package(SeQuant 2.0), 2.3, 26.2, 26.2.0 and rejects 26.3, 27.0 under AnyNewerVersion; a patch level of 1 yields 26.2.1. Nothing in SeQuant or MPQC used the old macro names.

Releases are now numbered YY.N, with N counting the releases within the
year from 0, and YY.N.P for patch releases; the prerelease id is
unchanged. Since 2.1.0 and 2.2.0 already shipped in 2026, the next
release is 26.2 and master now reports 26.2-alpha.

The version components are SEQUANT_YEAR_VERSION, SEQUANT_YMAJOR_VERSION
and SEQUANT_PATCH_VERSION instead of MAJOR/MINOR/MICRO, since "minor" no
longer implies API stability. A zero patch level is omitted from
SEQUANT_VERSION, the installed package config and the share directory.
Downstream find_package(SeQuant 2.x) requests still succeed under the
AnyNewerVersion compatibility policy.
@evaleev
evaleev requested review from Krzmbrzl and ajay-mk October 21, 2026 16:04
Comment thread doc/maintainer/release.rst Outdated
Comment thread doc/maintainer/release.rst Outdated
@Krzmbrzl

Copy link
Copy Markdown
Collaborator

I would favor using YYYY.N as 2026.x is more obviously not a regular version (which might stir expectations of following semantic versioning). A major version of 26 is feasible while 2026 is very unlikely as a regular major version.

@evaleev

evaleev commented Oct 21, 2026

Copy link
Copy Markdown
Member Author

I would favor using YYYY.N as 2026.x is more obviously not a regular version (which might stir expectations of following semantic versioning). A major version of 26 is feasible while 2026 is very unlikely as a regular major version.

I am running a poll. I prefer YY to avoid redundant 20.

@evaleev

evaleev commented Oct 22, 2026

Copy link
Copy Markdown
Member Author

@Krzmbrzl majority seemed to prefer 26.2 . YY works for Ubuntu, MacOS, LibreOffice, pip, etc.

@Krzmbrzl

Copy link
Copy Markdown
Collaborator

Alright. We should add s note about the use of CalVer to the README to make sure there is no ambiguity

…oning

The scheme was only described in the maintainer release guide; users
looking at the README or the installation page had no way to tell that
26.2 is a calendar version rather than a semver major bump.
@evaleev

evaleev commented Oct 22, 2026

Copy link
Copy Markdown
Member Author

@Krzmbrzl added a Versioning section to the README (with a link to calver.org) and to the user-facing installation guide in 3681cf1; the maintainer release guide already described the scheme.

@evaleev evaleev added this to the 26.2 milestone Oct 22, 2026
@evaleev
evaleev merged commit 0a6498f into master Oct 22, 2026
4 of 20 checks passed
@evaleev
evaleev deleted the feature/calver branch October 22, 2026 13:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants